Rilevamento degli outlier
Il rilevamento degli outlier è il processo di identificazione dei punti dati che sono significativamente diversi dagli altri valori nel set di dati. Ad esempio, gli outlier potrebbero rappresentare errori o entità insolite in un set di dati. Il rilevamento degli outlier è una tecnica di machine learning non supervisionata, quindi non è necessario fornire dati di addestramento.
!!! Il rilevamento degli outlier è un'analisi batch, eseguita una volta sui dati. Se vengono aggiunti nuovi dati all'indice, sarà necessario ripetere l'analisi sui dati aggiornati. !!!
Algoritmi di rilevamento degli outlier
Nell'Elastic Stack utilizziamo un insieme di quattro metodi di rilevamento degli outlier basati su distanza e densità:
- Distanza del K-esimo vicino più vicino: calcola la distanza del punto dati dal suo K-esimo vicino più vicino, dove K è un numero ridotto e generalmente indipendente dal numero totale di punti dati.
- Distanza dei K vicini più vicini: calcola la distanza media dei punti dati rispetto ai loro vicini più prossimi. I punti con la distanza media maggiore saranno i più distanti.
- Fattore di outlier locale (lof): considera la distanza dei punti rispetto ai loro K vicini più prossimi e anche la distanza di questi vicini dai loro rispettivi vicini.
- Fattore di outlier locale basato sulla distanza (ldof): è il rapporto tra due misure: la prima misura calcola la distanza media del punto dati rispetto ai suoi K vicini più prossimi; la seconda calcola la media delle distanze tra i vicini stessi.
Non è necessario selezionare i metodi o fornire parametri, ma è possibile modificare il comportamento predefinito, se lo si desidera. I metodi basati sulla distanza assumono che i punti dati normali siano più vicini o simili tra loro, mentre gli outlier sono più distanti o significativamente diversi. Tuttavia, questi metodi non considerano le variazioni di densità in un set di dati, quindi vengono utilizzati anche metodi basati sulla densità per attenuare questo problema.
I quattro algoritmi non sempre concordano su quali punti siano outlier. Di default, i job di rilevamento degli outlier usano tutti questi metodi, quindi normalizzano e combinano i loro risultati assegnando a ogni punto dati nell'indice un punteggio di outlier. Il punteggio varia da 0 a 1, dove un valore più alto rappresenta una maggiore probabilità che il punto dati sia un outlier rispetto agli altri punti dati dell'indice.
Influenza delle caratteristiche
L'influenza delle caratteristiche – un altro punteggio calcolato durante il rilevamento degli outlier – fornisce una classifica relativa delle diverse caratteristiche e del loro contributo a fare di un punto un outlier. Questo punteggio consente di comprendere il contesto o il motivo per cui un determinato punto dati è considerato un outlier.
1. Definire il problema
Il rilevamento degli outlier nell'Elastic Stack può essere utilizzato per individuare qualsiasi entità insolita in una popolazione data. Ad esempio, per rilevare software dannosi su una macchina o comportamenti utente anomali su una rete. Poiché il rilevamento degli outlier si basa sull'assunzione che gli outlier costituiscano una piccola proporzione della popolazione complessiva dei dati, è possibile utilizzare questa funzione in tali casi. Il rilevamento degli outlier è un'analisi batch che funziona meglio su un indice incentrato sulle entità. Se il tuo caso d'uso si basa su dati di serie temporali, potrebbe essere più opportuno utilizzare il rilevamento delle anomalie.
Le funzionalità di machine learning forniscono il rilevamento degli outlier non supervisionato, il che significa che non è necessario fornire un set di dati di addestramento.